const byte message_ptn[] = {
  // な
  0b00110010,
  0b00001111,
  0b00000010,
  0b00100010,
  0b01010000,
  0b01111110,
  0b00010001,
  0b00010000,

  // ん
  0b01000000,
  0b00100000,
  0b00011000,
  0b00100110,
  0b01000000,
  0b01000000,
  0b00100000,
  0b00000000,

  // で
  0b00000010,
  0b00000010,
  0b00111010,
  0b01000110,
  0b01000010,
  0b00000001,
  0b00000001,
  0b00000000,

  // も
  0b00001010,
  0b00111111,
  0b01001010,
  0b01001010,
  0b01001010,
  0b00100000,
  0b00000000,
  0b00000000,

  // 作
  0b00000100,
  0b01111110,
  0b00000001,
  0b00000100,
  0b00000011,
  0b01111110,
  0b00010110,
  0b00010100,
  0b00000000,

  // っ
  0b00001000,
  0b01001000,
  0b01001000,
  0b00110000,
  0b00000000,

  // ち
  0b00000010,
  0b00010010,
  0b00001111,
  0b00001010,
  0b01001010,
  0b01001000,
  0b00110000,
  0b00000000,

  // ゃ
  0b00001000,
  0b00011110,
  0b01001000,
  0b00110000,
  0b00000000,

  // う
  0b00001000,
  0b00000101,
  0b01000101,
  0b01000100,
  0b00111000,
  0b00000000,
  0b00000000,

  // 、
  0b00100000,
  0b01000000,
  0b00000000,
  0b00000000,

  // か
  0b00100100,
  0b00011100,
  0b00000111,
  0b01000100,
  0b00111100,
  0b00000010,
  0b00001100,
  0b00000000,

  // も
  0b00001010,
  0b00111111,
  0b01001010,
  0b01001010,
  0b01001010,
  0b00100000,
  0b00000000,
  0b00000000,

  // 。
  0b01100000,
  0b01100000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
  0b00000000,
};

void make_anything(void)
{
  static int img_h = sizeof(message_ptn) / sizeof(message_ptn[0]);
  static int src_y = 0;

  for(uint8_t i=0; i<8; i++){
    int y = src_y + i;
    if(y >= img_h){
      y -= img_h;
    }
    myDots.write(i, message_ptn[y]);
  }

  src_y++;
  if(src_y >= img_h){
    src_y = 0;
  }

  delayUntilStateChange(100);
}


